package javabasics;

/**
 * @author: zhoulisheng
 * @description：
 * @email: zhoulisheng@cetcbigdata.com
 * @Date: Created in 10:18 2019/2/13
 * @Modified By:
 */


/**

 向上转型：把子转成父
         父类引用指向子类对象
         Fu f = new Zi();

 向下转型：把父转成子
         父类引用转为子类对象
         Zi z = (Zi) f;
 */




/**
 @大数据躺过的坑【九月哥】所撰写
 */
class Fu {
    public void show() {
        System.out.println("show fu");
    }
}

class Zi extends Fu {
//    @Override
//    public void show() {
//        System.out.println("show zi");
//    }

    public void method() {
        System.out.println("method zi");
    }

}

class DuoTaiDemo {
    public static void main(String[] args) {
        //向上转型：把子转成父。   ==> 子装父
        Fu f = new Zi();
        f.show(); //这父亲可以去做，子类重写了父类方法，所以输出是show zi

        //向下转型：把父转成子   => 装父，让你装逼，打回原形
        Zi z = (Zi)f;
        z.show(); //输出 show zi
        z.method(); //输出 method zi
    }
}




